home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / sound / convert / rateconv.5 < prev    next >
Text File  |  1996-11-16  |  6KB  |  140 lines

  1.  
  2.     RATECONV - a universal sample rate converter
  3.     ============================================
  4.  
  5.     This is a universal tool to convert sample rates of audio signals
  6.     consisting of signed 16bit data, mono or stereo. It is designed as
  7.     stream filter around an effcient internal structure. On-the-fly
  8.     conversions while recording or playing sound are possible although
  9.     they depend on CPU-speed and other specific demands. It can also be
  10.     used as a low-pass filter without changing rates. Target platforms
  11.     are un*x systems.
  12.  
  13.     Its flexibility helps to overcome restrictions in quality, usable
  14.     bandwith or rate-ratios inherent to other solutions. It is easy to
  15.     outperform the quality of simple rate conversion schemes, e.g. the
  16.     one which comes with the well known sound format conversion package
  17.     `sox' by Lance Norskog (But `sox' seems great for all other types
  18.     of format conversion).
  19.  
  20.     Although standard solutions are provided be warned that there
  21.     is no quick solution to meet all objectives at the same time with
  22.     computational efficiency. This is because one has to trade between
  23.     quality, usable bandwith and efficiency. The term `universal' implies
  24.     that the trade is left up to you to decide. The provided documentation
  25.     allows development of adapted solutions to the problem of rate
  26.     conversion in audio or, more generally speaking, resampling of a
  27.     given bandlimited function.
  28.  
  29.  
  30.     Contents:
  31.     ---------
  32.  
  33.     1. Usage
  34.     2. Installation
  35.     3. Copyright and disclaimer
  36.     4. Author
  37.  
  38.  
  39.     1. Usage
  40.     --------
  41.  
  42.         This is at a glance what you get once you've compiled and invoked
  43.     `rateconv':
  44.  
  45.         Sample rate conversion from stdin to stdout  [...]
  46.         Usage: rateconv [-hlms] <fsin> <fgK> <fgG> <lenght> <up> <down> [..
  47.           -h -l     sample format HB,LB or LB,HB (default)
  48.           -m -s     mono (default) or stereo mode
  49.           <fsin>    input sampling frequency in Hz
  50.           <fgK>     sinc-filter cutoff frequency
  51.           <fgG>     gaussian-window key frequency (6.8dB-down point)
  52.           <length>  lenght of IR of resulting FIR-filter (1...1024)
  53.           <up>      upsampling factor (1...1024)
  54.           <down>    downsampling factor
  55.           <gain>    over-all-gain (default 0.8 safe on filter overshoot)
  56.  
  57.     Now the task in general would be to find suitable paramters for
  58.         the specific demands you have. The shell scripts in the `examples'
  59.     directory use some predefined parameters and call rateconv
  60.     directly. Their computational efficiency versus quality varies
  61.         (see the internal comments). If you don't mind some inefficiency,
  62.     the shell script `rcv' should satisfy almost all your demands,
  63.     showing this upon invocation:
  64.  
  65.         High quality rate conversion stdin to stdout  [...]
  66.         Usage:   rcv [-hlms] <up> <down> [<gain>]
  67.         Options: -hlms see external command rateconv
  68.         Args:    <up>,<down> are positive integer values
  69.                  their ratio determines the rate change
  70.                  which must be greater than about 0.16
  71.                  <up> may not exceed a value of 1024
  72.                  small rate changes compute more efficiently
  73.                  <gain> default is 0.8 to avoid overload
  74.         Specs:   1dB-edge-frequency is at 9/20 of the smaller rate
  75.                  S/N and mirror frequency suppression is >= 96dB
  76.  
  77.     If you want to tailor the paramters of RATECONV to meet your
  78.         specific needs please read the file `rateconv.txt'.
  79.  
  80.  
  81.     2. Installation
  82.     ---------------
  83.  
  84.     RATECONV was developed on SYSV386R3.2 (Intel-Architecture).
  85.     With the appropriate flags set in Makefile it should work on
  86.     a lot of other systems and architectures too. It definitely
  87.     runs on Linux/386, SunOS4.1.3/sparc, HP-UX8.0/9000-370 and
  88.     IRIX5.3/mips. 
  89.  
  90.     Edit Makefile and `make', install rateconv manually to .../bin
  91.     together with rcv and the examples you desire.
  92.  
  93.  
  94.     3. Copyright and disclaimer
  95.     ---------------------------
  96.  
  97.     Copyright (c) 1992, 1995 by Markus Mummert
  98.  
  99.     Redistribution and use of this software, modifcation and inclusion
  100.     into other forms of software are permitted provided that the
  101.     following conditions are met:
  102.  
  103.     1. Redistributions of this software must retain the above copyright
  104.        notice, this list of conditions and the following disclaimer.
  105.     2. If this software is redistributed in a modified condition
  106.        it must reveal clearly that it has been modified.
  107.     
  108.     THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS''
  109.     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  110.     TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
  111.     PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR
  112.     CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  113.     EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  114.     PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
  115.     PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
  116.     OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  117.     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
  118.     USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
  119.     DAMAGE.
  120.  
  121.  
  122.     4. Author
  123.     ---------
  124.  
  125.     Questions, remarks, suggestions and advice are welcome
  126.     
  127.             Markus Mummert
  128.     * SNAILMAIL:    Emanuelstr. 27
  129.               D-80796 Munich
  130.               Germany
  131.     * PHONE:    +49 89 300 44 70
  132.     * MAIL:        <mum@mmk.e-technik.tu-muenchen.de>
  133.               Please Note: this adress is checked depending
  134.             on traffic - maybe only twice a month at the worst.
  135.             My own system is offline. 
  136.  
  137.     ===EOT===$Id: README,v 1.5 1995/12/09 02:16:21 mummert Exp mummert $
  138.  
  139.       
  140.